计算 A = B = C
作者:Ruben Geert van den Berg,发表于 SPSS Blog
概要
使用一个简短的 COMPUTE
命令对变量进行二分化是一个极好的方法。这也是创建多变量过滤器的最快方式。
工作原理
当使用 COMPUTE A = B = C
结构时,SPSS 会评估每个个案的 (B = C)
是否为真(True)或假(False)。结果变量 A
将会是:
- 如果
(B = C)
为真(True),则A = 1
- 如果
(B = C)
为假(False),则A = 0
- 如果由于缺失值而无法评估
(B = C)
,则A
将是一个系统缺失值 (system missing value)。
一个额外的好处是,结果变量 A
非常适合与 FILTER 命令一起使用。
多重条件
可以在类似的思路中使用更复杂的条件,例如 COMPUTE FLAG = V1 GT V2 AND V3 = 5.
。 这意味着:
- 当且仅当
(V1
大于V2)
并且(V3
等于5)
时,个案在FLAG
上才会有1
。 如果FLAG
用作过滤器(filter),则只有这些个案将保持活动状态。 - 如果一个或两个条件不成立,则
FLAG
为0
。 - 如果
V1
、V2
或V3
上有任何缺失值,则FLAG
也缺失。 - 逻辑演示如下面的 语法 (syntax) 所示。
SPSS 语法示例
***1. 创建测试数据。**
DATA LIST FREE/v1 v2.
BEGIN DATA
1 6
'' 5
3 4
4 3
5 2
6 1
END DATA.
***2. 标记 (Flag) v1 大于 (gt) 2 的个案。**
COMPUTE flag.1 = v1 GT 2.
***3. 标记 (Flag) v1 和 v2 都大于 (gt) 2 的个案。**
COMPUTE flag.2 = v1 GT 2 AND v2 GT 2.
EXECUTE.